home *** CD-ROM | disk | FTP | other *** search
/ Aminet 5 / Aminet 5 - March 1995.iso / Aminet / dev / e / GED_E2_0.lha / GED-E / ec_procfolder.rexx < prev    next >
OS/2 REXX Batch file  |  1994-11-03  |  2KB  |  65 lines

  1. /* $VER: 2.0, ©1994 BURGHARD Eric. Original by Leon Woestenberg 1993 */
  2. /*                  Fold all unfolded PROCEDURES                     */
  3.  
  4. options results                             /* enable return codes     */
  5.                                             /* not started by GoldEd ? */
  6. if (LEFT(ADDRESS(), 6) ~= "GOLDED") then address 'GOLDED.1'
  7. 'LOCK CURRENT QUIET'                        /* lock GUI, gain access   */
  8. if rc then exit
  9. options failat 6                            /* ignore warnings         */
  10. signal on syntax                            /* ensure clean exit       */
  11.  
  12. 'QUERY ANYTEXT'
  13. if (result = 'TRUE') then do
  14.   'QUERY COLUMN ABSLINE FIND'
  15.   parse var result column ' ' line ' ' fstr
  16.   'FOLD ALL OPEN="FALSE"'
  17.   'FIND STRING="PROC " WORDS="FALSE" CASE="TRUE" FIRST QUIET'
  18.   do while (rc=0)
  19.     'QUERY COLUMN VAR COL'
  20.     'UP'
  21.     'FIRST'
  22.     'QUERY WORD VAR TESTPROC'
  23.     'DOWN'
  24.     'GOTO COLUMN='col''
  25.     if (testproc~=='/*FOLDER') then do
  26.       'QUERY WORD VAR TESTPROC'
  27.       if (testproc='PROC') then do
  28.         'QUERY BUFFER'
  29.         parse var result "PROC" procname "(" varuse ")"
  30.         procname=space(procname,0)
  31.         'INSERT LINE'
  32.         'FIRST'
  33.         'TEXT T="/**FOLDER "'
  34.         'CODE SET 34'
  35.         'TEXT T="'procname'('varuse')"'
  36.         'CODE SET 34'
  37.         'TEXT T="**/"'
  38.         'FIND STRING=ENDPROC WORDS="FALSE" CASE="TRUE" NEXT'
  39.         'GOTO EOL'
  40.         'RIGHT'
  41.         'CR'
  42.         'TEXT T="/**FEND**/"'
  43.         'UP'
  44.         'FOLD OPEN="FALSE"'
  45.       end
  46.     end
  47.     else do
  48.         'FIND STRING=ENDPROC WORDS="FALSE" CASE="TRUE" NEXT'
  49.         'GOTO EOL'
  50.     end
  51.     'FIND STRING=PROC WORDS="FALSE" CASE="TRUE" NEXT QUIET'
  52.   end
  53.   'GOTO LINE='line' COLUMN='column''
  54.   'FIND STRING="'fstr'"'
  55. end
  56. else 'REQUEST STATUS="Text buffer is empty ?!"'
  57. 'UNLOCK'
  58. exit
  59.  
  60. syntax:
  61. say "Sorry, error line" SIGL ":" ERRORTEXT(RC) ":-("
  62. 'UNLOCK'
  63. exit
  64.  
  65.